/******************************************************************************
 * Copyright (C) 2009 Peter ZHOU <peterzhoulei@gmail.com>                     *
 *                                                                            *
 * This program is free software; you can redistribute it and/or              *
 * modify it under the terms of the GNU General Public License as             *
 * published by the Free Software Foundation; either version 2 of             *
 * the License, or (at your option) any later version.                        *
 *                                                                            *
 * This program is distributed in the hope that it will be useful,            *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *
 * GNU General Public License for more details.                               *
 *                                                                            *
 * You should have received a copy of the GNU General Public License          *
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.      *
 ******************************************************************************/

#import <Cocoa/Cocoa.h>
#import "ddIM_wordList.h"
#import "ddIM_word.h"

@interface ddIM_tree : NSObject {
	id head;
	NSMutableArray* _candidatesPhases;
	NSMutableArray* _candidatesPY;
}

-(void)addWord:(id)node:(NSString*)py:(NSString*)str:(NSInteger)freq:(NSMutableArray*)preWords;
-(id)insertNode:(id)parent:(NSString*)py:(NSString*)str:(NSInteger)freq:(NSMutableArray*)preWords;
-(bool)insertWord:(NSArray*)py:(NSString*)str:(NSInteger)freq:(NSMutableArray*)preWords;

//-(bool)deleteNode:(id)node;
-(void)searchNode:(NSArray*)py:(id)startNode:(NSString*)preWord;
-(BOOL)searchTree:(NSArray*)py:(NSString*)preWord;
-(NSInteger)editFreq:(NSArray*)py:(NSString*)word:(id)startNode; //return the new freqency
-(void)sortCandidates;

-(NSMutableArray*)candidatesPhases;
-(NSMutableArray*)candidatesPY;

@end
